The present invention generally relates to a code sequence matching method for recognizing characters, and in particular to a code sequence matching method for matching between a sequence of feature vectors extracted from an input unknown pattern and a sequence of feature vectors which are stored beforehand in a dictionary. Further, the present invention relates to a code sequence matching apparatus carrying out the above method. The present invention is especially suitable for recognition of handwritten characters.
Conventionally, an apparatus for recognizing patterns of characters has a dictionary in which sequences of feature vectors of many kinds of patterns (dictionary feature sequences) are registered. Dictionary feature sequences are also referred to as dictionary code sequences, because in general feature vectors are described with directional codes. The apparatus refers to the dictionary and retrieves a dictionary feature sequence therefrom which coincides with a sequence of feature vectors extracted from an input unknown pattern (an unknown feature sequence). The unknown feature sequence is also referred to as an unknown code sequence. Then, the apparatus determines a candidate pattern for the unknown pattern.
According to a conventional code sequence matching method, all the elements of the unknown code sequence extracted from the input pattern are compared with all the elements of the dictionary code sequence read out from the dictionary. Then, only when all the elements of the unknown code sequence correspond to all the elements of the dictionary code sequence from the point of view of kind, number and sequence of elements, both the patterns are recognized to match each other, so that the input unknown pattern can be identified. In other words, a correspondence of all the elements of the unknown code sequence with all the elements of the dictionary code sequence is definitely defined for identifying the unknown pattern. However, the above matching method is liable to be affected by noise and/or pattern deformation on the input pattern. For this reason, a pattern recognition rate is degraded.
To improve the pattern recognition rate, it is useful to partially neglect the elements of the unknown code sequence and compare the remaining elements thereof with the elements of the dictionary code sequences. It is also useful to change the correspondence of elements to be compared with each other.
However, even these matching methods can not provide a satisfactory recognition rate, when only one dictionary code sequence is prepared for one pattern. This is because these matching methods cannot effectively cope with deformation or the like on patterns. Therefore, it is required to prepare a plurality of dictionary code sequences for one pattern in the dictionary. Furthermore, when one candidate for the input pattern is selected from among a plurality of the candidate patterns (when determining whether the input pattern is a pattern .alpha. or .beta., or neither .alpha. or .beta., for example), it is necessary to suitably control a sequence for retrieving proper dictionary code sequences and finally determining one candidate out of the plurality of candidates. That is, it is very important to suitably couple the dictionary code sequences with one another with some information and control a sequence for the dictionary retrieval.
According to a recently reported matching method, controls for changing the correspondence of elements between the unknown code sequence and the dictionary code sequences and the sequence for the dictionary retrieval are carried out by using a state transition diagram (see Y. Kato, "AUTOMATIC PRODUCTION METHOD OF A DICTIONARY FOR THE PATTERN RECOGNITION", Technical Research Report PRL85-35, The Institute of Electronics and Communication Engineers of Japan, 1985). However, the controls are very complicated and cumbersome.